package org.dsun.json.bean;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

/**
 * 鹧鸪天
 * 黯淡青黄体性柔，情疏迹远只香留。
 * 何须浅碧深红色，自是花中第一流。
 * 梅定妒，菊应羞，画栏开处冠中秋。
 * 骚人可煞无情思，何事当年不减收。
 * @author donga
 * @version 1.2
 * @since 2011-9-8
 */
public class JsonObject implements Iterable<JsonElement>{
	private List<JsonElement> elements=new ArrayList<JsonElement>();
	

	@Override
	public Iterator<JsonElement> iterator() {
		return elements.iterator();
	}
	
	public void setProperty(JsonElement je){
		boolean tag=true;
		for(JsonElement j : elements){
			if(je.getKey().equals(j.getKey())){
				j.setValue(je.getValue());
				tag=false;
				break;
			}
		}
		if(tag){
			elements.add(je);
		}
	}
	
	public JsonElement getProperty(String key){
		if(key==null){
			return null;
		}
		for(JsonElement j : elements){
			if(key.equals(j.getKey())){
				return j;
			}
		}
		return null;
	}
	
	public void remove(String key){
		if(key==null){
			return;
		}
		for(JsonElement j : elements){
			if(key.equals(j.getKey())){
				elements.remove(j);
				break;
			}
		}
	}
	
	@Override
	public String toString(){
		StringBuilder sb=new StringBuilder();
		for(int i=0;i<elements.size();i++){
			sb.append(elements.get(i)).append(',');
		}
		if(sb.length()==0){
			return "{}";
		}else{
			sb.insert(0, "{");
			sb.replace(sb.length()-1,sb.length(), "}");
			return sb.toString();
		}
	}
}
